06.16-同期群分析Cohort Analysis:从表象到本质的用户留存洞察
1. 问题:为什么平均数会骗人?
电商运营中最危险的一句话是:"我们的用户留存率是40%"。这个漂亮的平均数掩盖了一个残酷的事实——新用户的留存率可能只有10%,而老用户高达80%。管理者看到40%觉得"还不错",但不知道新用户正在加速流失。
`python
平均数的陷阱示例
2026年1月:新增1000人,7日留存8% → 贡献80个活跃用户
2026年2月:新增10000人,7日留存6% → 贡献600个活跃用户
总留存 = (80+600)/(1000+10000) = 6.2%
表面上看留存率在上升,实际上是新增放大了老用户的基数效应
`
坑:只看总体留存会把"新增质量下降"的问题掩盖在增长数据里。
2. 学习:同期群分析的定义与核心逻辑
同期群分析(Cohort Analysis)最早用于医药研究——观察不同被试群体的行为随时间的变化。引入互联网运营后,基本逻辑变为:按共同特征将用户分组(同期群),追踪每组在后续周期内的表现差异。
核心概念
| 概念 | 说明 | 电商场景示例 |
|------|------|-------------|
| 同期群(Cohort) | 在特定时间段内具有相同行为的用户群体 | 2026年5月首次购买的客户 |
| 留存率 | 某同期群在N个周期后仍活跃的比例 | 5月客户在6月复购的比例 |
| 同期群表 | 横向是时间推移,纵向是不同群组对比 | 热力图展示各月客户留存变化 |
关键原则
同期群分析≠简单的时间序列分析。同期群分析的灵魂在于"具有可比性"——只有同尺度、同维度、同标准的两个比较个体,才叫做具有可比性。纵向看同一群组随时间的变化,横向看不同群组在生命周期同阶段的差异。
来源:人人都是产品经理《同期群分析:剖析真实的用户行为和用户价值》+ 腾讯云《数分人必知必会-同期群分析》。
3. 分析:同期群分析的三个核心用途
用途一:监控不同渠道的拉新质量
某电商通过同期群分析发现:
| 渠道 | 首月留存 | 3月留存 | 6月留存 |
|------|---------|---------|---------|
| 抖音信息流 | 45% | 22% | 11% |
| 小红书种草 | 38% | 31% | 25% |
| 搜索竞价 | 52% | 40% | 33% |
| 朋友圈广告 | 30% | 12% | 5% |
洞察:搜索竞价来的用户虽然初始转化低,但长期留存好——说明用户需求明确。朋友圈广告拉新量大但质量差,本质上是一种"干扰式触达"。 行动:重新分配预算,提高搜索竞价占比,朋友圈广告仅用于特定促销场景。用途二:验证产品改版效果
案例:某电商APP在3月做了首页改版,总体DAU在上升,但同期群分析发现:
- 1月注册用户留存稳定(70%→68%)
- 2月注册用户留存微降(68%→65%)
- 3月改版后注册用户留存断崖式下跌(65%→45%)
用途三:运营活动归因
某品牌618期间大促,新增用户暴增300%。财务觉得成功了。但同期群分析显示:
- 618期间注册用户在7月复购率仅3%(正常是18%)
- 用户都是冲着折扣来的,折扣一停就走
- 这批用户的LTV(生命周期价值)只有正常用户的1/5
常见错误清单
| 错误 | 表现 | 后果 |
|------|------|------|
| 同期群定义中途变更 | 改版前后计算口径不同 | 数据不可比 |
| 样本量不足 | 某渠道仅100人做Cohort | 结论偏差大 |
| 只看横向不看纵向 | 只比不同群组,不看同一群组衰减 | 错失存量优化机会 |
| 忽略外部因素 | 大促期间的留存下降,可能不是产品问题 | 错误归因 |
4. 理解:底层逻辑拆解
同期群分析的本质是剥离时间累积效应,还原每个用户群的真实行为。
类比"班级考试":全校平均分80分,但重点班平均95分,普通班平均70分。校长只盯着80分看,永远不会发现重点班在退步(从98降到95)、普通班在进步(从65升到70)。
电商场景的镜像:老用户群体庞大且活跃,他们的数据会"拉高"整体平均值,掩盖新用户留存恶化的事实。同期群分析就是在按"入学时间"分班后,比较每个班级的期末成绩趋势。
5. 内化:用自己的话总结
同期群分析不是另一种复杂的统计方法——它是最朴素的分组比较思想在时间维度上的延伸。核心只有三步:
就像种庄稼:不能只看总产量(GMV),要看同一批种子(用户群)在不同生长阶段的产出趋势。
6. 类比迁移
| 领域 | 类比说明 |
|------|---------|
| 健身房管理 | 按入会月份分组,观察每月到店次数的衰减曲线,判断会员质量 |
| 教育机构 | 按入学季节分班,对比不同班次的续费率和成绩提升 |
| SaaS服务 | 按注册时间分组,对比不同时期的7日/30日/90日激活率 |
| 餐厅经营 | 按开业月份分群客流,判断回头客比例是否在下降 |
7. 迁移:在电商运营中的实战路径
七日留存Cohort模板(Excel可做)
`
步骤1:提取每日新增用户列表
步骤2:标记每个新用户在D1/D3/D7/D14/D30是否活跃
步骤3:按注册日期分组,计算各组留存率
步骤4:用条件格式做热力图(绿>黄>红)
`
SQL实现模板
`sql
WITH first_orders AS (
SELECT user_id, MIN(order_date) AS first_order_date
FROM orders GROUP BY user_id
),
cohort_data AS (
SELECT first_order_date,
DATE_DIFF(order_date, first_order_date, MONTH) AS month_offset
FROM orders
JOIN first_orders USING(user_id)
)
SELECT first_order_date,
month_offset,
COUNT(DISTINCT user_id) AS active_users
FROM cohort_data
GROUP BY first_order_date, month_offset
ORDER BY first_order_date, month_offset;
`
Python热力图代码
`python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
构造同期群透视表
cohort_pivot = cohort_data.pivot(
index='first_order_month',
columns='month_offset',
values='retention_rate'
)
热力图可视化
sns.heatmap(cohort_pivot, annot=True, fmt='.1%', cmap='Reds')
plt.title('同期群留存率热力图')
plt.show()
`
8. 实践:电商场景实战应用
场景一:抖音投放质量评估
- 目标:判断抖音投放是否值得持续投入
- 操作:按"首次来源=抖音"分组,追踪14日/30日留存
- 判断标准:14日留存>25%可继续投,<15%立即停投
- 时间:持续追踪4周
场景二:新人首单券效果验证
- 目标:验证满减券能否提升次月留存
- 方法:用A/B同期群对比(有券组 vs 无券组),追踪3个月留存
- 指标:次月留存率提升>5%说明值得
场景三:私域引流价值评估
- 目标:判断企业微信群是否有效提升LTV
- 操作:按"是否入群"分两个同期群,对比6个月客单价
常见错误与解决
| 错误 | 现象 | 解决 |
|------|------|------|
| 同期群颗粒度太粗 | 按月分群看不出周度活动效果 | 按天/按周分组 |
| 留存口径不一致 | 有时候算"启动",有时候算"购买" | 固定留存定义文档 |
| 忘记剔除作弊用户 | 机器注册用户污染数据 | 先做异常检测再分群 |
9. 调整:根据实时反馈修正
- 如果某个Cohort数据异常波动,先排查技术问题(埋点是否正常)
- 如果留存数据长期向好但GMV不涨 → 检查客单价是否在下降
- 如果Cohort差异不大 → 检查分组维度是否正确(换了分群方式可能更有价值)
10. 成事:可执行清单
- [ ] 搭建"按注册时间分群"的月/周留存监控报表(第一优先级)
- [ ] 按获客渠道搭建Cohort留存看板(第二优先级)
- [ ] 每次改版/活动后,对比改版前后Cohort的留存差异
- [ ] 按月输出"各渠道Cohort质量排名",指导预算分配
- [ ] 将Cohort分析纳入周报体系(每周一刷新)
关联笔记
- 参见:06.03-RFM用户分群实战(Cohort+RFM结合使用效果更好)
- 参见:06.04-转化漏斗分析与用户行为路径(Cohort分析是对漏斗的补充)
- 参见:02.17-用户旅程地图(同期群分析是用户旅程的量化验证)